<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <title>Document</title>
</head>
<body>
<script>
    /*
    js的执行环节之前会先进行解析缓解，这里就有变量，函数 提升的问题
    此时打印的是undefined，没报错是因为变量提升的原因，var 修饰了变量，这些
    变量在js执行时会先被提到整个执行流程最前面，先进声明，var web ，但是此时
    还没有赋值，赋值的操作实在 log之后执行的，按照代码的书写顺序。如果在赋值之前使用
    了这个变量，那么这个变量类型就是undefined。
   */
    console.log(web);
    var web = "wzy.com";

    // 变量冻结
    const HOST = {
        url: "https://www.baidu.com",
        port: 8080,
    };
    //防止变量被修改：Object.freezen
    Object.freeze(HOST);
    //此时再去修改HOST对象便不会在生效了
    HOST.port = 80;
    console.log(HOST);

    //传值和传址
    let e = {};
    let f = e;
</script>
</body>
</html>
